Skip to main content Skip to complementary content

Limitations and considerations

You should be aware of the following limitations and considerations when using Google Cloud SQL for PostgreSQL as a source:

  • The database name cannot include a semi-colon (;).
  • Capturing changes while the database is in Hot Standby mode is not supported.
  • Replication of multiple tables with the same name but a different case (e.g. table1, TABLE1 and Table1) may cause unpredictable behavior and is therefore not supported.
  • The PostgreSQL read replica (in a High Availability environment) is supported from PostgreSQL 16 only.
  • Change processing of TRUNCATE operations is not supported.
  • Deferred Constraints are not supported.
  • Unique Indexes with CASE expressions are not supported.

  • REPLICA IDENTITY support:

    • If FULL is used, before-image values will be replicated for all table columns. Only when using this mode is it possible to redefine the target index.

    • If DEFAULT is used, replication is supported only when a table contains a Primary key. Additionally, only before-images of Primary Key columns will be replicated.

    • USING INDEX is supported only when the specified Unique Index is the only unique constraint for the table (meaning that the table does not have a Primary Key or another Unique Index). In this case, it is supported exactly the same as the DEFAULT value described above.

    • As Replicate does not verify the REPLICA IDENTITY value, make sure you define the correct value.

  • The “Start Process Changes from Timestamp” run option is not supported.
  • Change processing of [CREATE | ALTER | DROP] table DDLs are supported unless they are held in an inner function/procedure body block or in other nested constructs.

    For example, the following change will not be captured:

    CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void

    LANGUAGE plpgsql

    AS $$

    BEGIN

    create table attu.distributors1(did serial PRIMARY KEY,name varchar(40) NOT NULL);

    END;

    $$;

  • When Support partitioned tables in CDC is enabled in the Advanced tab, the following DDLs are not supported:

    • Drop partition
    • Detach partition
    • Attach partition - with data
  • An UPDATE operation that involves two partitions (moving a record between partitions) will be applied to the target using DELETE and INSERT operations.
  • When using the Parallel Load feature, table segmentation according to partitions or sub-partitions is not supported.

  • When using filters that do not contain a Primary Key, DELETE operations will not be captured.
  • When capturing changes to source tables, a RENAME TABLE operation will be captured only if it is preceded by a DML operation.

  • PostGIS data types are not supported.

  • Forced failover is a feature of Azure Database for PostgreSQL – Flexible Server. If forced failover occurs when replicating data from Azure Database for PostgreSQL – Flexible Server, the task will stop and will need to be reloaded.

  • The SQL MERGE command introduced in PostgreSQL 15.x has not been certified.

  • The AR_H_USER header column is not supported.

Unsupported data types

Information noteThe PostGIS data type is not supported.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!